package com.cssw.fyzb.core.dao.system;



import com.cssw.fyzb.core.model.dodb.SysOper;
import com.cssw.fyzb.core.model.dodb.SysOperRole;
import com.ydn.dbframe.plugin.activerecord.Page;

import java.util.List;
import java.util.Map;

public interface OperDao {

    /**
     * 新增账号
     *
     * @param operCode
     * @param operPwd
     * @param mobileNo
     * @param operName
     * @param status
     * @return
     */
    Long save(String operCode, String operPwd, String mobileNo,
              String operName, String status, String remark, Long operId);

    /**
     * 修改账号
     *
     * @param operId
     * @param operCode
     * @param mobileNo
     * @param operName
     * @param status
     */
    void update(Long operId, String operCode, String mobileNo,
                String operName, String status, String remark, Long sysOperId);

    /**
     * 修改账号状态
     *
     * @param operId
     * @param status
     */
    void updateStatus(Long operId, String status,Long sysOperId);

    /**
     * 根据账号编码查询账号信息
     *
     * @param operCode
     * @return
     */
    SysOper getByCode(String operCode);

    /**
     * 根据账号标识查询账号信息
     *
     * @param operId
     * @return
     */
    SysOper getById(Long operId);

    /**
     * 更新账号密码
     *
     * @param operId
     * @param operPwd
     */
    void updateOperPwd(Long operId, String operPwd);

    /**
     * 更新身份证号码
     *
     * @param operId
     * @param idCard
     */
    void updateIdCard(Long operId, String idCard);

    /**
     * 删除账号信息
     *
     * @param operId
     */
    void delete(Long operId,Long sysOperId);

    /**
     * 查询账号列表
     *
     * @param param
     * @param page
     * @param limit
     * @return
     */
    Page<SysOper> list(Map param, Integer page, Integer limit);

    List<SysOperRole> queryOperRole(Long operId);

    void deleteOperRoleByOperId(Long operId);

    void batchSaveOperRole(List<SysOperRole> operRoles);
}
